home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 21 / AACD 21.iso / AACD / Programming / Comal / Demos / DirectoryTree < prev    next >
Encoding:
Text File  |  2001-04-11  |  1.1 KB  |  59 lines

  1. USE Catalog  
  2.  
  3. DIM CatId OF ULONG  
  4. DIM filesize OF LONG  
  5. DIM name$ OF 160
  6.  
  7. dirname$:="work3:FysikDev/MeasureDev/"
  8.  
  9. OpenCatalog(dirname$,CatId)
  10.  
  11. WHILE NOT EOC(CatId) DO  
  12.   ReadCatalog(CatId,name$,filesize)
  13.   IF "cpp"=name$(LEN(name$)-2..) THEN
  14.     ScanFile(dirname$+name$)
  15.   ENDIF  
  16. ENDWHILE  
  17. CloseCatalog(CatId)  
  18.  
  19. PROC ScanFile(name$)
  20.   LOCAL line$ OF 250
  21.   LOCAL text$ OF 80
  22.   LOCAL p OF SHORT, p1 OF SHORT
  23.  
  24.   OPEN FILE 1,name$,READ
  25.   WHILE NOT EOF(1) DO
  26.     INPUT FILE 1: line$
  27.     IF NOT ("#include" IN line$) THEN
  28.       p:=("""" IN line$)
  29.       WHILE p DO
  30.         p1:=("""" IN line$(p+1..))+p
  31.         text$:=line$(p..p1)
  32.         IF (".font" IN text$) OR ("$VER:" IN text$) OR spaces(text$) THEN
  33.           PRINT text$
  34.         ENDIF
  35.         IF p1=LEN(line$) THEN
  36.           p:=0
  37.         ELSE
  38.           line$:=line$(p1+1..)
  39.           p:=("""" IN line$)
  40.         ENDIF
  41.       ENDWHILE
  42.     ENDIF
  43.   ENDWHILE
  44.   CLOSE FILE 1
  45. ENDPROC ScanFile
  46.  
  47. FUNC spaces(t$) OF SHORT
  48.   LOCAL i OF SHORT
  49.  
  50.   i:=2
  51.   WHILE i<=LEN(t$) AND t$(i..i)<>"""" DO 
  52.     IF (t$(i..i)<>" ") THEN
  53.       RETURN FALSE
  54.     ENDIF
  55.     i:+1
  56.   ENDWHILE
  57.   RETURN TRUE
  58. ENDFUNC spaces
  59.